using System;
using System.Runtime.Serialization;

namespace FU.Capstones.IMS.Web.Common.InventoryServiceProxy.DataContracts
{
    [DataContract(Namespace = WebConstants.ServiceNamespace)]
    public class OrderCriteria : Order
    {
        private DateTime? exportedOrImportedDateFrom;
        [DataMember]
        public DateTime? ExportedOrImportedDateFrom
        {
            get { return exportedOrImportedDateFrom; }
            set
            {
                if (!Equals(exportedOrImportedDateFrom, value))
                {
                    exportedOrImportedDateFrom = value;
                    RaisePropertyChanged(() => ExportedOrImportedDateFrom);
                }
            }
        }

        private int isAllEmployee;
        [DataMember]
        public int IsAllEmployee
        {
            get { return isAllEmployee; }
            set
            {
                if (!Equals(isAllEmployee, value))
                {
                    isAllEmployee = value;
                    RaisePropertyChanged(() => IsAllEmployee);
                }
            }
        }

        private int isAllOrderCode;
        [DataMember]
        public int IsAllOrderCode
        {
            get { return isAllOrderCode; }
            set
            {
                if (!Equals(isAllOrderCode, value))
                {
                    isAllOrderCode = value;
                    RaisePropertyChanged(() => IsAllOrderCode);
                }
            }
        }
        private DateTime? exportedOrImportedDateTo;
        [DataMember]
        public DateTime? ExportedOrImportedDateTo
        {
            get { return exportedOrImportedDateTo; }
            set
            {
                if (!Equals(exportedOrImportedDateTo, value))
                {
                    exportedOrImportedDateTo = value;
                    RaisePropertyChanged(() => ExportedOrImportedDateTo);
                }
            }
        }

        private long? totalQuantityFrom;
        [DataMember]
        public long? TotalQuantityFrom
        {
            get { return totalQuantityFrom; }
            set
            {
                if (!Equals(totalQuantityFrom, value))
                {
                    totalQuantityFrom = value;
                    RaisePropertyChanged(() => TotalQuantityFrom);
                }
            }
        }

        private long? totalQuantityTo;
        [DataMember]
        public long? TotalQuantityTo
        {
            get { return totalQuantityTo; }
            set
            {
                if (!Equals(totalQuantityTo, value))
                {
                    totalQuantityTo = value;
                    RaisePropertyChanged(() => TotalQuantityTo);
                }
            }
        }
    }
}